/**
 * @desc 关键处理逻辑说明
 *  ‌三级过滤机制‌
      第一层：去除所有data:前缀和空行
      第二层：通过状态机模式分离思考与答案
      第三层：正则表达式清理残留格式（如\n{3,}合并为双换行）
  ‌  容错设计‌
      处理答案:部分内部的嵌套data:（如data:&zwnj;**核心问题**&zwnj;：）
      智能合并相邻空行（保留段落分隔但避免过多空行）
    ‌输出优化‌
      保留Markdown格式用于结构化展示
      自动生成清晰的表格对比形式
 */

export function processContent(rawData) {
  // 阶段1：数据清洗
  const lines = rawData
    .split('\n')
    .map(line => line.replace(/^data: ?/, '').trim())
    // .filter(line => line !== '')

  // 阶段2：内容分类
  const result = { thoughts: [], answer: [] }
  let currentSection = null

  lines.forEach(line => {
    if (line.startsWith('思考:')) {
      currentSection = 'thoughts'
      result.thoughts.push(line.replace('思考:', '').trim())
    } else if (line.startsWith('答案:')) {
      currentSection = 'answer'
      result.answer.push(line.replace('答案:', '').trim())
    } else {
      if (currentSection) {
        result[currentSection].push(line)
      }
    }
  })

  // 阶段3：格式优化
  return {
    thoughts: result.thoughts.join('\n').replace(/(\n{2,})/g, '\n'),
    answer: result.answer
      .join('\n')
      // .replace(/data:/g, '') // 处理答案中残留的data标签
      // .replace(/\n{3,}/g, '\n\n')
  }
}
